#pragma once

#include"ThreadCache.h"
//每个线程创建和删除ThreadCache

static void* ConCurrentAlloc(size_t size)
{
	assert(size <= Max_Size);

	///线程第一次进入时先创建ThreadCache
	if (pLTSThreadCache == nullptr)
	{
		pLTSThreadCache = new ThreadCache();
	}
	//this_thread也是一个类的用::访问类里面的静态函数
	cout << std::this_thread::get_id() << ":" << pLTSThreadCache << endl;
	//调用ThreadCache去分配空间
	return pLTSThreadCache->Allocate(size);
}

static void DeConCurrentAlloc(void* ptr,size_t size)
{
	assert(ptr);
	assert(pLTSThreadCache);

	//弄不太懂,为什么要找ThreadCache回收资源,不是直接回收这个ThreadCache
	pLTSThreadCache->Deallocate(ptr, size);
}